package com.shen.company;

/**
 * Author:shen
 * CreateDate:2020/5/7.
 * Function:
 */
public class Employee implements Comparable{

    private String name;
    private int age;

    public Employee() {
    }

    public Employee(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    /**
     * compareTo 主要用于比较，在哪个类中实现，就按照这个类的属性进行比较
     * 通常基本类型的数组是可以直接比较的，人家已经实现过了，所以不需要自己定义，
     * 但向对象数组compare不知道你是咋实现的，所以需要自己手动实现接口
     * 他会返回 负数小于 0相等 正数大于
     * 然后根据返回的数据进行排序
     *
     * @param o 要比较的对象
     * @return
     *   * @param   o the object to be compared.
     *      * @return  a negative integer, zero, or a positive integer as this object
     *      *          is less than, equal to, or greater than the specified object.
     *
     * -- @param表示要比较的对象。
     *
     * * @返回一个负整数、零或正整数作为这个对象
     *
     * *小于、等于或大于指定的对象。
     */
    @Override
    public int compareTo(Object o) {
            Employee employee=(Employee)o;
            return employee.age-this.age;
    }
}
